Wireless networks have experienced increased development in the past decade. Two types of wireless networks are infrastructure-based wireless networks, and ad hoc wireless networks.
An infrastructure-based wireless network typically includes a communication network with fixed and wired gateways. Many infrastructure-based wireless networks employ a mobile unit or host which communicates with a fixed base station that is coupled to a wired network. The mobile unit can move geographically while it is communicating over a wireless link to the base station. When the mobile unit moves out of range of one base station, it may connect or “handover” to a new base station and starts communicating with the wired network through the new base station.
In comparison to infrastructure-based wireless networks, such as cellular networks or satellite networks, ad hoc networks are self-forming networks which can operate with or without any fixed infrastructure, and in some cases the ad hoc network is formed entirely of mobile nodes. An ad hoc network typically includes a number of geographically-distributed, potentially mobile units, sometimes referred to as “nodes,” which are wirelessly connected to each other by one or more links (e.g., radio frequency communication channels). The nodes can be fixed or mobile and can communicate with each other over a wireless media without the support of an infrastructure-based or wired network. Ad hoc networks can also be self-healing. Links or connections between these nodes can change dynamically in an arbitrary manner as existing nodes move within the ad hoc network, as new nodes join or enter the ad hoc network, or as existing nodes leave or exit the ad hoc network. Because the topology of an ad hoc network can change significantly techniques are needed which can allow the ad hoc network to dynamically adjust to these changes. Due to the lack of a central controller, many network-controlling functions can be distributed among the nodes such that the nodes can self-organize and reconfigure in response to topology changes.
Currently there are a number of ad hoc wireless communication devices which can operate in one of two modes in an ad hoc network. These modes are sometimes referred to as an autonomous ad hoc mode and an infrastructure mode. In autonomous ad hoc mode, communications multi hop locally between peers or nodes in an ad hoc network. In infrastructure mode, communications hop from node to node to reach an infrastructure connection.
Typically when a user of a wireless communication device operating in ad hoc mode decides to communicate with one or more infrastructure devices and/or networks, the user manually switches from autonomous ad hoc mode to infrastructure mode so that the device can communicate with the infrastructure elements. Similarly, when a user of a wireless communication device operating in infrastructure mode decides to communicate with one or more ad hoc nodes and/or networks, the user manually switches from infrastructure mode to autonomous ad hoc mode so that the device can communicate with the ad hoc nodes. For example, a user may use a software tool on the device to select an infrastructure mode which allows the user to access infrastructure or may select an autonomous ad hoc mode which allows the device to operate exclusively in an ad hoc manner communicating with other nodes in the ad hoc network. There is no way to determine whether a destination for a particular communication is reachable via the infrastructure or from within the ad hoc network itself.
In addition, users of wireless local area networks (WLAN) or ad-hoc mesh networks manually switch their client configuration when they would like to move between different networks or Service Set Identifiers (SSIDs) (e.g., each network has a unique SSID). Unfortunately, “normal” infrastructure names do not easily translate to a specific SSID. For example, the domain name motorola.com could be reached from many different networks each having different SSIDs.
Domain Name Service (DNS)
A domain name is a meaningful and easy-to-remember identification for an Internet address. Because maintaining a central list of domain name/IP (internet protocol) address correspondences would be impractical, lists of domain names and IP addresses are distributed throughout the Internet in a hierarchy of authority. The Domain Name Service (DNS) provides techniques for locating Internet domain names and translating them into Internet Protocol (IP) addresses.
Every domain in the Internet has a database called a domain name server (DNS) that handles DNS requests (also referred as User Queries in DNS Standards) and that generates DNS replies/responses (also referred as User Responses in DNS Standards). DNS is standardized by the Internet Engineering Task Force (IETF) through documents called Request for Comments (RFC). There are dozens of such documents that together define DNS. These documents include, for example, RFC 1034, RFC 1035, RFC 1101, RFC 1183, RFC1348, RFC1876, RFC1982, RFC2065, RFC2181, RFC2308, RFC2535, RFC4033, RFC4034, RFC4035, RFC4343, RFC4035, etc. Among other functions, the DNS server translates or maps a particular human-readable domain name into a machine-readable IP address and provides that IP address to the user who entered the domain name into their client device.
To provide DNS functionality for autonomous ad hoc networks, co-pending U.S. patent application Ser. No. 11/018301, filed on Dec. 21, 2004 and titled “DISTRIBUTED DOMAIN NAME SERVICE,” assigned to the assignee of the present invention, which is hereby incorporated by reference herein in its entirety, discloses a method of providing DNS functionality that is distributed among and throughout nodes in an autonomous ad hoc network. In other words, the infrastructure based DNS functionality that is typically provided by a DNS server that resides in the Internet is distributed among nodes in an ad hoc network.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.